
/*
*Released on 28th June 2008.
*Any violations can be reported at paritosh@wikiocean.net
*What is treated as violations can be found at www.wikiocean.net/ppl1-voilations*
******************************************************************************
* The contents of this file are subject to POOL Public License 1.0 and later.
* POOL Public License is based on Affero GPL v3 and additional conditions.
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the Affero GPL v3 License at http://www.gnu.org/licenses/agpl.html
* You may obtain a copy of the POOL Public License 1.0 or later at www.wikiocean.net/license/ppl.html
* Software distributed under POOL Public License 1.0 is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Initial Developer of the Original Code is Paritosh Pungaliya (C) 2008. All Rights Reserved.
******************************************************************************
* Objective of the additional terms (license)
* 1) Is to extend the software freedom to freedom to work.
* 2) To ensure that knowledge is free from monopoly of agencies.
* 3) To avoid a situation where big corporate or investor can buy out free software groups and companies and then start milking the communities built around it.
* (this trend can be seen how the freedom is curtailed in companies that get Venture Capital funding.)
******************************************************************************
*/

package  validation;

import logger.PoolLogger;
import dbmanager.DBManager;

public class Isnumeric implements Validation
{
	boolean FLAG = false;
	PoolLogger pl;
	
	public Isnumeric() {
		// logger
		pl = (PoolLogger) PoolLogger.getLogger(this.getClass().getName());
	}
	
	public boolean validate(String Value) 
	{
		//char[] number = {'0','1','2','3','4','5','6','7','8','9',};
		//ascii -> 48-57 ===> 0-9
		int Pastcount = 0; 
		System.out.println("Is Numeric : "+Value);
		for(int i=0;i<Value.length();i++)
		{
			if(Value.charAt(i) == '.')
			{
				if(Pastcount>0)
					return false;
				Pastcount++;
				continue;
			}
			for(int j=48;j<=57;j++)
			{
				if(Value.charAt(i) == (char)j)
				{
					FLAG = true;
					break;
				}
				FLAG = false;
			}
			if(FLAG == false)
				return false;
		}
		return true;
	}
	public static void main(String [] a) 
	{
		Isnumeric temp = new Isnumeric();
		System.out.println("Is Validate : "+temp.validate("1231.2"));
		System.out.println(temp.getMessage());
	}
	public String getMessage() 
	{
		pl.info("Value Must Be Numeric Allows Single Decimal");
		pl.debug("Value Must Be Numeric Allows Single Decimal");
		pl.warn("Value Must Be Numeric Allows Single Decimal");
		pl.fatal("Value Must Be Numeric Allows Single Decimal");
		pl.error("Value Must Be Numeric Allows Single Decimal");
		pl.trace("Value Must Be Numeric Allows Single Decimal");
		return "Value Must Be Numeric Allows Single Decimal";
	}
	
	public boolean validate(String Value, String ConditionValue) 
	{
		return false;
	}
	public void initPool() 
	{
		
	}
	public boolean validate(String Value, String ConditionValue, String Refvalue) 
	{	
		if(ConditionValue.equalsIgnoreCase("true"))
		{
			return validate(Value);
		}
		else if(ConditionValue.equalsIgnoreCase("false"))
			return true;
		else
			return false;
	}
	public void setBasicvalue(String value) {
		// TODO Auto-generated method stub
		
	}
	
}
